home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QD3DController.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  9.1 KB  |  164 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DController.p
  3.  
  4.      Contains:    Q3Controller methods    
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.1
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1995-1997 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QD3DController;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QD3DCONTROLLER__}
  28. {$SETC __QD3DCONTROLLER__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QD3DControllerIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QD3D__}
  35. {$I QD3D.p}
  36. {$ENDC}
  37.  
  38.  
  39. {$PUSH}
  40. {$ALIGN POWER}
  41. {$LibExport+}
  42.  
  43. {*****************************************************************************
  44.  **                                                                             **
  45.  **                                Type Definitions                             **
  46.  **                                                                             **
  47.  ****************************************************************************}
  48.  
  49. TYPE
  50.     TQ3ChannelGetMethod = ProcPtr;  { FUNCTION TQ3ChannelGetMethod(controllerRef: TQ3ControllerRef; channel: LONGINT; data: UNIV Ptr; VAR dataSize: LONGINT): TQ3Status; C; }
  51.  
  52.     TQ3ChannelSetMethod = ProcPtr;  { FUNCTION TQ3ChannelSetMethod(controllerRef: TQ3ControllerRef; channel: LONGINT; data: UNIV Ptr; dataSize: LONGINT): TQ3Status; C; }
  53.  
  54.     TQ3ControllerDataPtr = ^TQ3ControllerData;
  55.     TQ3ControllerData = RECORD
  56.         signature:                CStringPtr;
  57.         valueCount:                LONGINT;
  58.         channelCount:            LONGINT;
  59.         channelGetMethod:        TQ3ChannelGetMethod;
  60.         channelSetMethod:        TQ3ChannelSetMethod;
  61.     END;
  62.  
  63. {*****************************************************************************
  64.  **                                                                             **
  65.  **                                     Routines                                 **
  66.  **                                                                             **
  67.  ****************************************************************************}
  68. FUNCTION Q3Controller_GetListChanged(VAR listChanged: TQ3Boolean; VAR serialNumber: LONGINT): TQ3Status; C;
  69. FUNCTION Q3Controller_Next(controllerRef: TQ3ControllerRef; VAR nextControllerRef: TQ3ControllerRef): TQ3Status; C;
  70. FUNCTION Q3Controller_New({CONST}VAR controllerData: TQ3ControllerData): TQ3ControllerRef; C;
  71. FUNCTION Q3Controller_Decommission(controllerRef: TQ3ControllerRef): TQ3Status; C;
  72. FUNCTION Q3Controller_SetActivation(controllerRef: TQ3ControllerRef; active: TQ3Boolean): TQ3Status; C;
  73. FUNCTION Q3Controller_GetActivation(controllerRef: TQ3ControllerRef; VAR active: TQ3Boolean): TQ3Status; C;
  74. FUNCTION Q3Controller_GetSignature(controllerRef: TQ3ControllerRef; signature: CStringPtr; numChars: LONGINT): TQ3Status; C;
  75. FUNCTION Q3Controller_SetChannel(controllerRef: TQ3ControllerRef; channel: LONGINT; data: UNIV Ptr; dataSize: LONGINT): TQ3Status; C;
  76. FUNCTION Q3Controller_GetChannel(controllerRef: TQ3ControllerRef; channel: LONGINT; data: UNIV Ptr; VAR dataSize: LONGINT): TQ3Status; C;
  77. FUNCTION Q3Controller_GetValueCount(controllerRef: TQ3ControllerRef; VAR valueCount: LONGINT): TQ3Status; C;
  78. FUNCTION Q3Controller_SetTracker(controllerRef: TQ3ControllerRef; tracker: TQ3TrackerObject): TQ3Status; C;
  79. FUNCTION Q3Controller_HasTracker(controllerRef: TQ3ControllerRef; VAR hasTracker: TQ3Boolean): TQ3Status; C;
  80. FUNCTION Q3Controller_Track2DCursor(controllerRef: TQ3ControllerRef; VAR track2DCursor: TQ3Boolean): TQ3Status; C;
  81. FUNCTION Q3Controller_Track3DCursor(controllerRef: TQ3ControllerRef; VAR track3DCursor: TQ3Boolean): TQ3Status; C;
  82. FUNCTION Q3Controller_GetButtons(controllerRef: TQ3ControllerRef; VAR buttons: LONGINT): TQ3Status; C;
  83. FUNCTION Q3Controller_SetButtons(controllerRef: TQ3ControllerRef; buttons: LONGINT): TQ3Status; C;
  84. FUNCTION Q3Controller_GetTrackerPosition(controllerRef: TQ3ControllerRef; VAR position: TQ3Point3D): TQ3Status; C;
  85. FUNCTION Q3Controller_SetTrackerPosition(controllerRef: TQ3ControllerRef; {CONST}VAR position: TQ3Point3D): TQ3Status; C;
  86. FUNCTION Q3Controller_MoveTrackerPosition(controllerRef: TQ3ControllerRef; {CONST}VAR delta: TQ3Vector3D): TQ3Status; C;
  87. FUNCTION Q3Controller_GetTrackerOrientation(controllerRef: TQ3ControllerRef; VAR orientation: TQ3Quaternion): TQ3Status; C;
  88. FUNCTION Q3Controller_SetTrackerOrientation(controllerRef: TQ3ControllerRef; {CONST}VAR orientation: TQ3Quaternion): TQ3Status; C;
  89. FUNCTION Q3Controller_MoveTrackerOrientation(controllerRef: TQ3ControllerRef; {CONST}VAR delta: TQ3Quaternion): TQ3Status; C;
  90. FUNCTION Q3Controller_GetValues(controllerRef: TQ3ControllerRef; valueCount: LONGINT; VAR values: Single; VAR changed: TQ3Boolean; VAR serialNumber: LONGINT): TQ3Status; C;
  91. FUNCTION Q3Controller_SetValues(controllerRef: TQ3ControllerRef; {CONST}VAR values: Single; valueCount: LONGINT): TQ3Status; C;
  92.  
  93. {*****************************************************************************
  94.  **                                                                             **
  95.  **                                     Routines                                 **
  96.  **                                                                             **
  97.  ****************************************************************************}
  98. FUNCTION Q3ControllerState_New(controllerRef: TQ3ControllerRef): TQ3ControllerStateObject; C;
  99. FUNCTION Q3ControllerState_SaveAndReset(controllerStateObject: TQ3ControllerStateObject): TQ3Status; C;
  100. FUNCTION Q3ControllerState_Restore(controllerStateObject: TQ3ControllerStateObject): TQ3Status; C;
  101.  
  102. {*****************************************************************************
  103.  **                                                                             **
  104.  **                                Type Definitions                             **
  105.  **                                                                             **
  106.  ****************************************************************************}
  107.  
  108. TYPE
  109.     TQ3TrackerNotifyFunc = ProcPtr;  { FUNCTION TQ3TrackerNotifyFunc(trackerObject: TQ3TrackerObject; controllerRef: TQ3ControllerRef): TQ3Status; C; }
  110.  
  111. {*****************************************************************************
  112.  **                                                                             **
  113.  **                                     Routines                                 **
  114.  **                                                                             **
  115.  ****************************************************************************}
  116. FUNCTION Q3Tracker_New(notifyFunc: TQ3TrackerNotifyFunc): TQ3TrackerObject; C;
  117. FUNCTION Q3Tracker_SetNotifyThresholds(trackerObject: TQ3TrackerObject; positionThresh: Single; orientationThresh: Single): TQ3Status; C;
  118. FUNCTION Q3Tracker_GetNotifyThresholds(trackerObject: TQ3TrackerObject; VAR positionThresh: Single; VAR orientationThresh: Single): TQ3Status; C;
  119. FUNCTION Q3Tracker_SetActivation(trackerObject: TQ3TrackerObject; active: TQ3Boolean): TQ3Status; C;
  120. FUNCTION Q3Tracker_GetActivation(trackerObject: TQ3TrackerObject; VAR active: TQ3Boolean): TQ3Status; C;
  121. FUNCTION Q3Tracker_GetButtons(trackerObject: TQ3TrackerObject; VAR buttons: LONGINT): TQ3Status; C;
  122. FUNCTION Q3Tracker_ChangeButtons(trackerObject: TQ3TrackerObject; controllerRef: TQ3ControllerRef; buttons: LONGINT; buttonMask: LONGINT): TQ3Status; C;
  123. FUNCTION Q3Tracker_GetPosition(trackerObject: TQ3TrackerObject; VAR position: TQ3Point3D; VAR delta: TQ3Vector3D; VAR changed: TQ3Boolean; VAR serialNumber: LONGINT): TQ3Status; C;
  124. FUNCTION Q3Tracker_SetPosition(trackerObject: TQ3TrackerObject; controllerRef: TQ3ControllerRef; {CONST}VAR position: TQ3Point3D): TQ3Status; C;
  125. FUNCTION Q3Tracker_MovePosition(trackerObject: TQ3TrackerObject; controllerRef: TQ3ControllerRef; {CONST}VAR delta: TQ3Vector3D): TQ3Status; C;
  126. FUNCTION Q3Tracker_GetOrientation(trackerObject: TQ3TrackerObject; VAR orientation: TQ3Quaternion; VAR delta: TQ3Quaternion; VAR changed: TQ3Boolean; VAR serialNumber: LONGINT): TQ3Status; C;
  127. FUNCTION Q3Tracker_SetOrientation(trackerObject: TQ3TrackerObject; controllerRef: TQ3ControllerRef; {CONST}VAR orientation: TQ3Quaternion): TQ3Status; C;
  128. FUNCTION Q3Tracker_MoveOrientation(trackerObject: TQ3TrackerObject; controllerRef: TQ3ControllerRef; {CONST}VAR delta: TQ3Quaternion): TQ3Status; C;
  129. FUNCTION Q3Tracker_SetEventCoordinates(trackerObject: TQ3TrackerObject; timeStamp: LONGINT; buttons: LONGINT; {CONST}VAR position: TQ3Point3D; {CONST}VAR orientation: TQ3Quaternion): TQ3Status; C;
  130. FUNCTION Q3Tracker_GetEventCoordinates(trackerObject: TQ3TrackerObject; timeStamp: LONGINT; VAR buttons: LONGINT; VAR position: TQ3Point3D; VAR orientation: TQ3Quaternion): TQ3Status; C;
  131. {*****************************************************************************
  132.  **                                                                             **
  133.  **                                 Types                                         **
  134.  **                                                                             **
  135.  ****************************************************************************}
  136.  
  137. TYPE
  138.     TQ3CursorTrackerNotifyFunc = ProcPtr;  { PROCEDURE TQ3CursorTrackerNotifyFunc; C; }
  139.  
  140. {*****************************************************************************
  141.  **                                                                             **
  142.  **                                 Routines                                     **
  143.  **                                                                             **
  144.  ****************************************************************************}
  145. FUNCTION Q3CursorTracker_PrepareTracking: TQ3Status; C;
  146. FUNCTION Q3CursorTracker_SetTrackDeltas(trackDeltas: TQ3Boolean): TQ3Status; C;
  147. FUNCTION Q3CursorTracker_GetAndClearDeltas(VAR depth: Single; VAR orientation: TQ3Quaternion; VAR hasOrientation: TQ3Boolean; VAR changed: TQ3Boolean; VAR serialNumber: LONGINT): TQ3Status; C;
  148. FUNCTION Q3CursorTracker_SetNotifyFunc(notifyFunc: TQ3CursorTrackerNotifyFunc): TQ3Status; C;
  149. FUNCTION Q3CursorTracker_GetNotifyFunc(VAR notifyFunc: TQ3CursorTrackerNotifyFunc): TQ3Status; C;
  150.  
  151.  
  152.  
  153.  
  154. {$ALIGN RESET}
  155. {$POP}
  156.  
  157. {$SETC UsingIncludes := QD3DControllerIncludes}
  158.  
  159. {$ENDC} {__QD3DCONTROLLER__}
  160.  
  161. {$IFC NOT UsingIncludes}
  162.  END.
  163. {$ENDC}
  164.